#include <unistd.h>
#include <stdio.h>

/*
    创建无名管道,默认写管道描述符为pipefd[1]=4,管道描述符为pipefd[0]=3
    创建成功返回0,失败返回-1
    无名管道只能实现亲缘关系进程间的通信
    测试命令: ./1.out
*/
int main(int argc, char *argv[])
{
    int pipefd[2];
    int pipe_res;

    /*创建无名管道*/
    pipe_res = pipe(pipefd);
    if(pipe_res == 0)
        /*
        Linux进程会默认打开三个文件描述符：
            0 ：标准输入 stdin
            1 ：标准输出 stdout
            2 ：标准错误 stderror
        所以pipefd[0] = 3, pipefd[1] = 4
        */
        printf("pipefd[0] = %d, pipefd[1] = %d\n",pipefd[0],pipefd[1]);
    else
        printf("创建无名管道失败!\n");

    close(pipefd[0]);
    close(pipefd[1]);

    return 0;
}
